Systems and methods for identifying missing welds using machine learning techniques

ABSTRACT

Systems and methods for missing weld identification using machine learning techniques are described. In some examples, a part tracking system uses machine learning techniques to identify whether an operator has missed one or more welds when assembling a part. The part tracking system may additionally identify which specific welds were missed (e.g., the first weld, the third weld, the fifteenth weld, etc.). The part tracking system may be able to identify missing welds after a part has been completed, or in real-time, during assembly of the part. Identification of the particular weld(s) missed during the welding process can help an operator quickly assess and resolve any issues with the part being assembled, saving time and ensuring quality

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to, and the benefit of, U.S.Provisional Application No. 63/057,367, filed Jul. 28, 2020, entitled“SYSTEMS AND METHODS FOR IDENTIFYING MISSING WELDS USING MACHINELEARNING TECHNIQUES,” the entire contents of which are herebyincorporated by reference.

TECHNICAL FIELD

The present disclosure generally relates to identifying missing weldsand, more particularly, to systems and methods for identifying missingwelds using machine learning techniques.

BACKGROUND

Welding is sometimes used to assemble one or more workpieces into asingle part. In some examples, several welds are performed in aparticular order to assemble the part. If one or more of the welds usedto assemble the part are mistakenly missed, the integrity and/or qualityof the part may be negatively impacted.

Limitations and disadvantages of conventional and traditional approacheswill become apparent to one of skill in the art, through comparison ofsuch systems with the present disclosure as set forth in the remainderof the present application with reference to the drawings.

BRIEF SUMMARY

The present disclosure is directed to systems and methods foridentifying missing welds using machine learning techniques,substantially as illustrated by and/or described in connection with atleast one of the figures, and as set forth more completely in theclaims.

These and other advantages, aspects and novel features of the presentdisclosure, as well as details of an illustrated example thereof, willbe more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of a welding system in communication with atracking station, in accordance with aspects of this disclosure.

FIG. 2a is a block diagram showing an example of a part tracking system,including several of the welding systems of FIG. 1, in accordance withaspects of this disclosure.

FIG. 2b is a block diagram showing an example database of the parttracking system of FIG. 2a , in accordance with aspects of thisdisclosure.

FIG. 3a is flow diagrams illustrating an example missing weldidentification program for identifying missing welds of a completedpart, in accordance with aspects of this disclosure.

FIG. 3b is a flow diagram illustrating an example missing weldidentification program for identifying missing welds of an in-progresspart, in accordance with aspects of this disclosure.

FIG. 4a is a diagram illustrating a simple example of a new part andtypical part model, in accordance with aspects of this disclosure.

FIG. 4b is a diagram illustrating simple examples of missing weld partmodels, in accordance with aspects of this disclosure.

The figures are not necessarily to scale. Where appropriate, the same orsimilar reference numerals are used in the figures to refer to similaror identical elements. For example, reference numerals utilizinglettering (e.g., welding system 100 a, welding system 100 b) refer toinstances of the same reference numeral that does not have the lettering(e.g., welding system 100).

DETAILED DESCRIPTION

Conventional part tracking systems can detect the number of weldsperformed during part assembly. Some part tracking systems can tell anoperator if any welds were missed based on a comparison between thedetected number of welds and an expected number of welds for the type ofpart being assembled. If the number of detected welds is different froma number of expected welds, the part tracking system can tell theoperator that too few or too many welds were performed.

However, conventional part tracking systems cannot tell an operatorwhich particular welds were missed. The operator may have missed thethird weld or the thirteenth weld. Both situations would appearidentical to conventional part tracking systems. Additionally, if aparticular weld is mistakenly missed, and another extraneous weld isaccidentally added, the part tracking system may fail to realize thereis anything at all wrong with the part, because the number of detectedwelds would still be equal to the number of expected welds.

The example part tracking systems disclosed herein use machine learningtechniques to identify whether an operator has missed one or more weldswhen assembling a part. The part tracking systems can additionallyidentify which specific welds were missed (e.g., the first weld, thethird weld, the fifteenth weld, etc.). The part tracking systems may beable to identify missing welds after a part has been completed, or inreal-time, during part assemblies. Identification of the particularweld(s) missed during the welding process can help an operator quicklyassess and resolve any issues with the part being produced, saving timeand ensuring quality.

Some examples of the present disclosure relate to a system, comprising:processing circuitry; and memory circuitry comprising computer readableinstructions which, when executed, cause the processing circuitry to:identify a plurality of sequential welds used to assemble a part duringa part assembly process, access one or more feature characteristics ofthe plurality of sequential welds, access one or more missing weld partmodels, each of the one or more missing weld part models beingrepresentative of the part having one or more missing welds, determinean analogous missing weld part model of the one or more missing weldpart models that is most similar to the plurality of sequential welds,and provide an output identifying the one or more missing welds of theanalogous missing weld part model.

In some examples, one or more machine learning techniques are used todetermine the analogous missing weld part model most similar to theplurality of sequential welds. In some examples, each missing weld partmodel of the one or more missing weld part models is representative ofthe part having at least one different missing weld than every othermissing weld part model of the one or more missing weld part models. Insome examples, each of the one or more missing weld part models isassociated with one or more model characteristics, and the analogousmissing weld part model is determined via a comparison of at least someof the one or more feature characteristics with at least some of the oneor more model characteristics.

In some examples, the memory circuitry further comprises computerreadable instructions which, when executed, cause the processingcircuitry to: determine whether the part includes all required welds,wherein the processing circuitry obtains the one or more missing weldpart models, determines the analogous missing weld part model mostsimilar to the plurality of sequential welds, and provides the output inresponse to determining the part does not include all required welds. Insome examples, the memory circuitry further comprises computer readableinstructions which, when executed, cause the processing circuitry to: inresponse to determining the part does not include all required welds,determine a quantity of missing welds, wherein each of the one or moremissing weld part models is representative of the part with the quantityof missing welds. In some examples, the memory circuitry furthercomprises computer readable instructions which, when executed, cause theprocessing circuitry to: access a typical part model representative ofthe part having all required welds, wherein the determination of whetherthe part includes all required welds is based on a comparison of atleast some of the feature characteristics with at least some typicalfeature characteristics of the typical part model.

In some examples, the typical part model comprises a neural net, astatistical model, or a data set collection. In some examples, thedetermination of whether the part includes all required welds is basedon a comparison of a quantity of the plurality of sequential welds withan expected quantity of welds. In some examples, each missing weld partmodel of the one or more missing weld part models comprises a neuralnet, a statistical model, a data set collection, or a modified versionof a typical part model.

Some examples of the present disclosure relate to a method, comprising:identifying, via processing circuitry, a plurality of sequential weldsused to assemble a part during a part assembly process; accessing one ormore feature characteristics of the plurality of sequential welds;accessing one or more missing weld part models, each of the one or moremissing weld part models being representative of the part having one ormore missing welds; determining, via the processing circuitry, ananalogous missing weld part model of the one or more missing weld partmodels that is most similar to the plurality of sequential welds; andproviding an output identifying the one or more missing welds of theanalogous missing weld part model.

In some examples, one or more machine learning techniques are used todetermine the analogous missing weld part model most similar to theplurality of sequential welds. In some examples, each missing weld partmodel of the one or more missing weld part models is representative ofthe part having at least one different missing weld than every othermissing weld part model of the one or more missing weld part models. Insome examples, each of the one or more missing weld part models isassociated with one or more model characteristics, and the analogousmissing weld part model is determined via a comparison of at least someof the one or more feature characteristics with at least some of the oneor more model characteristics.

In some examples, the method further comprises: determining whether thepart includes all required welds, wherein the one or more missing weldpart models are obtained, the analogous missing weld part model mostsimilar to the plurality of sequential welds is determined, and theoutput is provided in response to determining the part does not includeall required welds. In some examples, the method further comprisesdetermining a quantity of missing welds in response to determining thepart does not include all required welds, wherein each of the one ormore missing weld part models is representative of the part with thequantity of missing welds. In some examples, the method furthercomprises: accessing a typical part model representative of the parthaving all required welds, wherein the determination of whether the partincludes all required welds is based on a comparison of at least some ofthe feature characteristics with at least some typical featurecharacteristics of the typical part model.

In some examples, the typical part model comprises a neural net, astatistical model, or a data set collection. In some examples, thedetermination of whether the part includes all required welds is basedon a comparison of a quantity of the plurality of sequential welds withan expected quantity of welds. In some examples, each missing weld partmodel of the one or more missing weld part models comprises a neuralnet, a statistical model, a data set collection, or a modified versionof a typical part model.

FIG. 1 shows an example welding system 100 in communication with atracking station 202. As shown, the welding system 100 includes awelding torch 118 and work clamp 117 coupled to a welding-type powersupply 108 within a welding cell 101. As shown, the tracking station 202is electrically coupled to (and/or in electrical communication with) thewelding-type power supply 108. In some examples, the tracking station202 may also be in communication with the welding torch 118 (e.g., viathe welding-type power supply 108).

In the example of FIG. 1, an operator 116 is handling the welding torch118 near a welding bench 112 within the welding cell 101. In someexamples, the welding bench 112 may be and/or include a fixturing systemconfigured to hold one or more workpiece(s) 110. In some examples thefixturing system may include one or more work clamps 117 (e.g., manualand/or pneumatic clamps). In some examples, the workpiece(s) 110 may beindependent of a welding bench 112, such as, for example a freestandingelement such as a structural steel element, pipeline, or bridge. While ahuman operator 116 is shown in FIG. 1, in some examples, the operator116 may be (and/or control) a robot and/or automated welding machine.

In the example of FIG. 1, the welding torch 118 is coupled to thewelding-type power supply 108 via a welding cable 126. The clamp 117 isalso coupled to the welding-type power supply 108 via a clamp cable 115.The welding-type power supply 108 is, in turn, in communication withtracking station 202, such as via conduit 130. In some examples, thewelding-type power supply 108 may alternatively, or additionally,include wireless communication capabilities (e.g., wirelesscommunication circuitry), through which wireless communication may beestablished with tracking station 202. While shown as being in directcommunication with tracking station 202, in some examples, thewelding-type power supply 108 may be in communication with trackingstation 202 through a network (e.g., the Internet, a wide accessnetwork, local access network, etc.).

In the example of FIG. 1, the welding torch 118 is a gun configured forgas metal arc welding (GMAW). In some examples, the welding torch 118may comprise an electrode holder (i.e., stinger) configured for shieldedmetal arc welding (SMAW). In some examples, the welding torch 118 maycomprise a torch and/or filler rod configured for gas tungsten arcwelding (GTAW). In some examples, the welding torch 118 may comprise agun configured for flux-cored arc welding (FCAW). In some examples, thewelding torch 118 may additionally, or alternatively, comprise a fillerrod. In some examples, the welding torch 118 may comprise a roboticwelding torch 118, moved and/or actuated by a robot, rather than noperator 116. In the example of FIG. 1, the welding torch 118 includes atrigger 119. In some examples, the trigger 119 may be actuated by theoperator 116 to activate a welding-type operation (e.g., arc).

In the example of FIG. 1, the welding-type power supply 108 includes(and/or is coupled to) a wire feeder 140. In some examples, the wirefeeder 140 houses a wire spool that is used to provide the welding torch118 with a wire electrode (e.g., solid wire, cored wire, coated wire).In some examples, the wire feeder 140 further includes motorized rollersconfigured to feed the wire electrode to the torch 118 (e.g., from thespool) and/or retract the wire electrode from the torch 118 (e.g., backto the spool).

In the example of FIG. 1, the welding-type power supply 108 alsoincludes (and/or is coupled to) a gas supply 142. In some examples, thegas supply 142 supplies a shielding gas and/or shielding gas mixtures tothe welding torch 118 (e.g., via cable 126). A shielding gas, as usedherein, may refer to any gas (e.g., CO2, argon) or mixture of gases thatmay be provided to the arc and/or weld pool in order to provide aparticular local atmosphere (e.g., shield the arc, improve arcstability, limit the formation of metal oxides, improve wetting of themetal surfaces, alter the chemistry of the weld deposit, and so forth).

In the example of FIGS. 1 and 2, the welding-type power supply 108 alsoincludes an operator interface 144. In the example of FIG. 1, theoperator interface 144 comprises one or more adjustable inputs (e.g.,knobs, buttons, switches, keys, etc.) and/or outputs (e.g., displayscreens, lights, speakers, etc.) on the welding-type power supply 108.In some examples, the operator interface 144 may comprise a remotecontrol and/or pendant. In some examples, the operator 116 (and/or otheruser) may use the operator interface 144 to enter and/or select one ormore weld parameters (e.g., voltage, current, gas type, wire feed speed,workpiece material type, filler type, etc.) and/or weld operations forthe welding-type power supply 108. In some examples, the operatorinterface 144 may further include one or more receptacles configured forconnection to (and/or reception of) one or more external memory devices(e.g., floppy disks, compact discs, digital video disc, flash drive,etc.).

In the example of FIG. 1, the welding-type power supply 108 includespower conversion circuitry 132 configured to receive input power (e.g.,from mains power, a generator, etc.) and convert the input power towelding-type output power. In some examples, the power conversioncircuitry 132 may include circuit elements (e.g., transformers,rectifiers, capacitors, inductors, diodes, transistors, switches, and soforth) capable of converting the input power to output power. In someexamples, the power conversion circuitry 132 may also include one ormore controllable circuit elements. In some examples, the controllablecircuit elements may comprise circuitry configured to change states(e.g., fire, turn on/off, close/open, etc.) based on one or more controlsignals. In some examples, the state(s) of the controllable circuitelements may impact the operation of the power conversion circuitry 132,and/or impact characteristics (e.g., current/voltage magnitude,frequency, waveform, etc.) of the output power provided by the powerconversion circuitry 132. In some examples, the controllable circuitelements may comprise, for example, switches, relays, transistors, etc.In examples where the controllable circuit elements comprisetransistors, the transistors may comprise any suitable transistors, suchas, for example MOSFETs, JFETs, IGBTs, BJTs, etc.

In the example of FIG. 1, the welding-type power supply 108 furtherincludes control circuitry 134 electrically coupled to and configured tocontrol the power conversion circuitry 132. In some examples, thecontrol circuitry 134 may include processing circuitry (and/or one ormore processors) as well as analog and/or digital memory. In someexamples, the control circuitry 134 is configured to control the powerconversion circuitry 132, to ensure the power conversion circuitry 132generates the appropriate welding-type output power for carrying out thedesired welding-type operation.

In some examples, the control circuitry 134 is also electrically coupledto and/or configured to control the wire feeder 140 and/or gas supply142. In some examples, the control circuitry 134 may control the wirefeeder 140 to output wire at a target speed and/or direction. Forexample, the control circuitry 134 may control the motor of the wirefeeder 140 to feed wire to (and/or retract the wire from) the torch 118at a target speed. In some examples, the welding-type power supply 108may control the gas supply 142 to output a target type and/or amount ofgas. For example, the control circuitry 134 may control a valve incommunication with the gas supply 142 to regulate the gas delivered tothe welding torch 118.

In the example of FIG. 1, the welding system 100 further includesseveral sensors 150. In some examples, one or more of the sensors 150may comprise one or more of a current sensor, a voltage sensor, amagnetic field sensor, a resistance sensor, a wire feed speed sensor, agas flow sensor, a clamping sensor, an NFC interrogator, an RFIDinterrogator, a Bluetooth interrogator, a barcode reader, a camera, anoptical sensor, an infrared sensor, an acoustic sensor, a sound sensor,a microphone, a position sensor, a global positioning system (GPS) unit,an accelerometer, an inertial measurement unit, an x-ray sensor, aradiographic sensor, a torque sensor, a non-destructive testing sensor,a temperature sensor, and/or a humidity sensor. As shown, the sensors150 are positioned in, on, and/or proximate to the work clamp 117,welding torch 118, welding-type power supply 108, wire feeder 140, gassupply 142, and power conversion circuitry 132.

In the example of FIG. 1, a sensor 150 is also shown mounted to and/orhanging from a fixture (e.g., wall, door, ceiling, pillar, curtain,etc.) of the welding cell 101. While only one sensor 150 is shownmounted to and/or hanging from a fixture, in some examples, multiplesensors 150 may be mounted to and/or hung from a fixture. As shown,multiple sensors 150 are also mounted to and/or hanging from anunattended robot vehicle 152 (e.g., a drone). While the robot vehicle152 is an aerial vehicle in the example of FIG. 1, in some examples, therobot vehicle 152 may instead be a ground vehicle or an aquatic vehicle.

In some examples, the sensors 150 may be configured to sense, detect,and/or measure various data of the welding system 100. For example, thesensors 150 may sense, detect, and/or measure data such as one or morelocations, positions, and/or movements of the operator 116, weldingtorch 118, workpiece 110, and/or other objects within the welding cell101. As another example, the sensors 150 may sense, detect, and/ormeasure data such as air temperature, air quality, electromagnetism,and/or noise in the welding cell 101. As another example, the sensors150 may sense, detect, and/or measure data such as a voltage and/orcurrent of the power received by the welding-type power supply 108,power conversion circuitry 132, and/or welding torch 118, and/or thevoltage and/or current of the power output by the welding-type powersupply 108 and/or power conversion circuitry 132. As another example,the sensors 150 may sense, detect, and/or measure data such as avelocity (e.g., speed and/or feed direction) of the wire feeder 140and/or type of wire being fed by the wire feeder 140. As anotherexample, the sensors 150 may sense, detect, and/or measure data such asa gas type and/or gas flow (e.g., through a valve) from the gas supply142 to the welding torch 118. As another example, the sensors 150 maysense, detect, and/or measure data such as a trigger signal (e.g.,actuation, de-actuation, etc.) of the welding torch 118, and/or aclamping signal (e.g., clamp, unclamp, etc.) of the clamp 117.

In some examples, the sensors 150 may be configured to communicate datasensed, detected, and/or measured to the welding-type power supply 108and/or tracking station 202. In some examples, the control circuitry 134may be in communication with some or all of the sensors 150 and/orotherwise configured to receive information from the sensors 150. Insome examples, the tracking station 202 may be in communication withsome or all of the sensors 150 and/or otherwise configured to receiveinformation from the sensors 150 (e.g., through the control circuitry134).

In some examples, a welding operation (and/or welding process) may beinitiated when the operator 116 actuates the trigger 119 of the weldingtorch 118 (and/or otherwise activates the welding torch 118). During thewelding operation, the welding-type power provided by the welding-typepower supply 108 may be applied to the electrode (e.g., wire electrode)of the welding torch 118 in order to produce a welding arc between theelectrode and the one or more workpieces 110. The heat of the arc maymelt portions of a filler material (e.g., wire) and/or workpiece 110,thereby creating a molten weld pool. Movement of the welding torch 118(e.g., by the operator) may move the weld pool, creating one or morewelds 111.

When the welding operation is finished, the operator 116 may release thetrigger 119 (and/or otherwise deactivate/de-actuate the welding torch118). In some examples, the control circuitry 134 may detect that thewelding operation has finished. For example, the control circuitry 134may detect a trigger release signal via sensor 150 (and/or from torch118 directly). As another example, the control circuitry 134 may receivea torch deactivation command via the operator interface 144 (e.g., wherethe torch 118 is maneuvered by a robot and/or automated weldingmachine).

In some examples, the sensors 150 may detect data pertaining to thewelding-type power supply 108, clamp 117, bench 112, and/or weldingtorch 118 during a welding process. In some examples, the welding-typepower supply 108 may also detect certain data (e.g., entered via theoperator interface 144, detected by control circuitry 134, etc.). Insome examples, the sensors 150 and/or welding-type power supply 108 maybe configured to communicate this data to the tracking station 202(directly and/or through welding-type power supply 108). In someexamples, the data may be communicated to the tracking station 202 inreal time, periodically during a welding operation, and/or after awelding operation. In some examples, the tracking station 202 may beembodied and/or implemented within the welding-type power supply 108(e.g., via control circuitry 134)

The data collected by the sensors 150, power supply 108, and/or otherportions of the welding system 100 can be valuable. For example, thedata may be analyzed to automatically identify a beginning and/or end ofa part assembly process that consists of several welds. Additionally,the data may be analyzed to automatically identify individual welds of apart assembly process, and/or determine feature characteristics of thosewelds.

FIG. 2a is a block diagram showing an example part tracking system 200.As shown, the part tracking system 200 includes the part trackingstation 202, as well as several welding systems 100 (each having sensors150 and welding equipment 151) in communication with the part trackingstation 202. In the example of FIG. 2a , the part tracking system 200further includes one or more central servers 206, and one or more othertracking stations 204.

In the example of FIG. 2a , the tracking station 202 is electrically(and/or communicatively) coupled to the sensors 150 and/or weldingequipment 151 (e.g. power supplies 108, torches 118, clamps 117, etc.)of each welding system 100. While three welding systems 100 are shown inthe example of FIG. 2a , in some examples, there may be more or lesswelding systems 100. In some examples, the tracking station 202 (and/orcentral server(s) 206) may receive data from the system(s) 100continuously, periodically, and/or on demand.

In the example of FIG. 2a , the tracking station 202 is electrically(and/or communicatively) coupled to a user interface (UI) 216. In someexamples, the UI 216 may comprise one or more input devices (e.g., touchscreens, mice, keyboards, buttons, knobs, microphones, dials, etc.)and/or output devices (e.g., display screens, speakers, lights, etc.).In some examples, the UI 216 may further include one or more receptaclesconfigured for connection to (and/or reception of) one or more externalmemory devices (e.g., floppy disks, compact discs, digital video disc,flash drive, etc.). In operation, an operator 116 or other user mayprovide input to, and/or receive output from, the tracking station 202via the UI 216. While shown as a separate component in the example ofFIG. 2a , in some examples, the UI 216 may be part of the trackingstation 202.

In the example of FIG. 2a , the tracking station 202 is in communicationwith one or more other tracking stations 204 and one or more centralservers 206 through network 208 (e.g., the Internet, a wide accessnetwork, local access network, etc. As shown, the sensors 150 a andwelding equipment 151 a of welding system 100 a are also incommunication with the central server(s) 206 through a network 208.While only one welding system 100 a is shown as being communicativelycoupled to the central server(s) 206 through the network 208, in someexamples, all, some, or none of the welding systems 100 may becommunicatively coupled to the central server(s) 206 through the network208. In some examples, the tracking station 202 may be in communicationwith the one or more other tracking stations 204 and/or the one or morecentral servers 206 directly, rather than through the network 208. Insome examples, the welding system 100 a may be in communication with thecentral server(s) 206 directly, rather than through the network 208. Insome examples, the central server(s) 206 may be implemented via thetracking station 202 and/or one or more of the other tracking stations204. In some examples, one or more of the other tracking station(s) 204may be tracking stations 200 that are remotely located.

In the example of FIG. 2a , the tracking station 202 includescommunication circuitry 210, processing circuitry 212, and memorycircuitry 214, interconnected with one another via a common electricalbus. In some examples, the processing circuitry 212 may comprise one ormore processors. In some examples, the communication circuitry 210 mayinclude one or more wireless adapters, wireless cards, cable adapters,wire adapters, dongles, radio frequency (RF) devices, wirelesscommunication devices, Bluetooth devices, IEEE 802.11-compliant devices,WiFi devices, cellular devices, GPS devices, Ethernet ports, networkports, lightning cable ports, cable ports, etc. In some examples, thecommunication circuitry 210 may be configured to facilitatecommunication via one or more wired media and/or protocols (e.g.,Ethernet cable(s), universal serial bus cable(s), etc.) and/or wirelessmediums and/or protocols (e.g., near field communication (NFC), ultrahigh frequency radio waves (commonly known as Bluetooth), IEEE 802.11x,Zigbee, HART, LTE, Z-Wave, WirelessHD, WiGig, etc.). In some examples,the tracking station 202 may be implemented by way of a desktopcomputer, laptop computer, computer server, and/or welding-type powersupply 108 (e.g., via control circuitry 134).

In the example of FIG. 2a , the memory circuitry 214 stores sensor data218 received from sensors 150. As shown, the memory circuitry 214 alsostores several identified welds 222 (e.g., identified from the sensordata 218). As shown, each weld 234 of the identified welds 222 includesfeature characteristics 220 (e.g., extracted from the sensor data 218).In some examples, feature characteristics 220 of a weld 234 may include,for example, duration of a weld 234, start date/time, end date/time,operator (e.g., name, ID), voltage, current, and/or other relevantfeatures and/or characteristics of the weld 234 (further discussedbelow).

In the example of FIG. 2a , the memory circuitry 214 stores a missingweld identification program 300. In some examples, the missing weldidentification program 300 may determine whether any welds 234 aremissing from the identified welds 222, and/or which specific welds 234are missing. As shown, the memory circuitry 214 additionally stores oneor more typical part model(s) 228 (e.g., developed and/or used by amissing weld identification program 300), and one or more missing weldpart models 232 (e.g., developed from the typical part model(s) 228and/or used by the missing weld identification program 300).

In the example of FIG. 2a , the memory circuitry 214 further storescertain constraints 226. In some examples, the constraints 226 may beused by the missing weld identification program 300 to determine whichfeature characteristic(s) 220, typical part model(s) 228, and/or missingweld part model(s) 232 to use. In some examples, the constraints 226 maybe preset, downloaded (e.g., from the central server(s) 206), userentered, and/or otherwise obtained. As shown, the memory circuitry 214further stores a database (DB) 230 (e.g., used to organize and/or storedata, such as, for example, the sensor data 218, identified welds 222,typical part models 228, missing weld part models 232, constraints 226,etc.).

While shown as stored in memory circuitry 214 in the example of FIG. 2a, in some examples, the sensor data 218, feature characteristics 220,identified welds 222, typical part model(s) 228, missing weld partmodel(s) 232, and/or constraints 226 may alternatively, or additionally,be stored in the DB 230, in memory circuitry of the central server(s)206, and/or in memory circuitry of other tracking station(s) 204. Whileshown as stored in memory circuitry 214 of the tracking station 202 inthe example of FIG. 2a , in some examples, all or some of the missingweld identification program 300 may be stored in memory circuitry of thecentral server(s) 206, and/or executed by processing circuitry of thecentral server(s) 206. While shown as stored in the memory circuitry 214of the tracking station 202 in FIG. 2a , in some examples, the DB 230may alternatively, or additionally be stored in memory circuitry of thecentral server(s) 206 and/or other tracking station(s) 204. For the sakeof convenience, future references to memory circuitry 214 of thetracking station 202, memory circuitry of the central server(s) 206,and/or memory circuitry 214 of other tracking stations 204 may bereferred to collectively as memory.

FIG. 2b is a block diagram showing more detail of an example DB 230. Inthe example of FIG. 2b , the DB 230 stores sensor data 218, typical partmodels 228, missing weld part models 232, identified parts 224, andconstraints 226. As shown, the identified parts 224 comprise a pluralityof parts 236, with each part 236 including several welds 234. Though notshown in FIG. 2b to save space, each weld 234 may be associated with itsown feature characteristics 220, such as shown with respect to theidentified welds 222 in FIG. 2a . As shown, each part 236 may also beassociated with its own part specific feature characteristics 220. Insome examples, the identified parts 224 may be continuously and/orperiodically updated with data from newly assembled parts 236.

In some examples, the missing weld identification program 300 mayanalyze data collected by the sensors 150, operator interface 144,and/or welding equipment 151 of a welding system 100, as well as datacollected via the UI 216 (collectively referred to hereinafter as sensordata 218). In some examples, the sensor data 218 may be used to identifya start and/or end of a part assembly process, as well welding activitythat occurs during the part assembly process (e.g., via signal(s)representative of clamp activation and/or release, a triggerpull/release, voltage/current detection, etc.). In some examples, timeperiods of welding activity may be identified as welds 234 (e.g., of theidentified welds 222). In some examples, identified welds 234 that occurbetween the start and end of a part assembly process may be associatedwith a part 236 and saved in memory and/or the DB 230 with theidentified parts 224. In some examples, the missing weld identificationprogram 300 may determine certain feature characteristics 220 based onthe analysis of the sensor data 218, and associate relevant featurecharacteristics 220 with each weld 234 of the identified welds 222and/or part 236 of the identified parts 224.

In some examples, the missing weld identification program 300 mayanalyze the welds 234 (e.g., the identified welds 222) of a part 236 todetermine if there are any welds 234 missing, and/or which specificwelds 234 are missing. For example, the missing weld identificationprogram 300 may compare the identified welds 222 of a newly assembledpart 236 with welds 234 of a typical part model 228 to determine ifthere are any welds 234 missing. If welds 234 are missing, the missingweld identification program 300 may analyze the analyze the part 236 inview of one or more missing weld part models 232 to determine theparticular missing weld(s) 234. Identification of a missing weld 234during part assembly enables an operator 116 to quickly identify and/oraddress the issue, saving time and ensuring quality.

FIGS. 3a and 3b are flowcharts illustrating an example missing weldidentification program 300. In some examples, the missing weldidentification program 300 may be implemented in machine readable(and/or processor executable) instructions stored in memory and/orexecuted by processing circuitry. FIG. 3a is an example of a post partmissing weld identification program 300 a. FIG. 3b is an example of anin-progress part missing weld identification program 300 b. In someexamples, the missing weld identification programs 300 may executesequentially or in parallel. In some examples, only one missing weldidentification program 300 may execute. In some examples, the parttracking system 200 may decide to execute the missing weldidentification program 300 a and/or missing weld identification program300 b based on one or more user inputs and/or constraints 226.

In the example of FIG. 3a , the missing weld identification program 300a begins at block 302. At block 302, the missing weld identificationprogram 300 a collects sensor data 218 (e.g., from sensors 150, weldingequipment 151, and/or UI 216). At block 320, the missing weldidentification program 300 a also collects constraints 226 (e.g., fromUI 216 and/or DB 230). In some examples, the constraints 226 maycomprise information that may assist the part tracking system 200 indeciding to execute the missing weld identification program 300 a and/ormissing weld identification program 300 b. In some examples, theconstraints 226 may comprise information that may assist the missingweld identification program 300 a in generating and/or selecting one ormore typical part models 228 and/or missing weld part models 232. Insome examples, constraints 226 may include such information as, forexample, the current operator, shift, fixture, time of day, day of theweek, type/make/model of equipment, maintenance schedule, environmentalconditions, and/or other pertinent information. In some examples, thisdata may alternatively, or additionally, be obtained via a lookup inmemory based on sensor data 218 and/or other information (e.g., aninternal clock of the tracking station 202 and/or central server(s) 206.

In some examples, the sensor data 218 and/or constraints 226 may bestored in the DB 230 and/or memory. While shown in the example of FIG.3a for the sake of understanding, in some examples, the collection ofsensor data 218 and/or constraints 226 may happen outside of the contextof the missing weld identification program 300 a. While shown as takingplace at the beginning of the missing weld identification program 300 ain the example of FIG. 3a for the sake of understanding, in someexamples, the collection of sensor data 218 and/or constraints 226 mayhappen at other times. In some examples, additional data may also becollected at block 302 (e.g., event data).

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 304 after block 302. At block 304, the missing weldidentification program 300 a identifies a start of a part assemblyprocess. In some examples, the missing weld identification program 300 amay identify the start of the part assembly process based on user input(e.g., via UI 216). For example, an operator 116 may provide inputindicating that they are about to begin a part assembly process. In someexamples, the missing weld identification program 300 a may identify thestart of the part assembly process based on sensor data 218. Forexample, clamp 117 (and/or sensor 150 coupled to, in communication with,and/or proximate to clamp 117) may provide a signal indicative of aclamping event and/or activation of the clamp 117. As another example, asensor 150 may scan, read, and/or otherwise obtain information from abarcode, QR code, RFID device, NFC device, Bluetooth device, and/orother media indicative of the start of a part assembly process. In someexamples, the missing weld identification program 300 a may additionallyobtain information relating to the type of part being assembled at block304, such as, for example, via the same mechanism through which thebeginning of the part assembly process is identified.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 306 after block 304. At block 306, the missing weldidentification program 300 a identifies one or more individual welds 234of the part assembly process based on the collected sensor data 218. Insome examples, this identification may comprise identifying a startand/or an end of each weld 234. For example, the missing weldidentification program 300 a may analyze sensor data 218 representativeof a trigger 119 pull/release, wire feed speed increase/decrease, gasflow increase/decrease, etc. at a certain time, and determine based onthe sensor data 218 that a weld 234 began or ended at that time. Once astart and end of a weld 234 is identified, the missing weldidentification program 300 a may associate sensor data 218 obtainedbetween the start and end of the weld 234 with the weld 234 in memory aspart of the identified welds 222.

At block 306, the missing weld identification program 300 a additionallyanalyzes the sensor data 218 associated with each weld 234 to determineone or more feature characteristics 220 of each identified weld 222. Forexample, the missing weld identification program 300 a may determine aweld start time feature characteristic of a weld 234 and a weld end timefeature characteristic of the weld 234 based on timestamp informationand the previously identified start and end of the weld 234. As anotherexample, the missing weld identification program 300 a may determine aweld duration of the weld 234 based on the difference between the weldstart time and weld end time. As another example, the missing weldidentification program 300 a may determine an average (and/or timeseries values of) voltage, current, wire feed speed, gas flow rate, workangle, torch travel speed, torch travel angle, weld temperature, ambienthumidity, and/or ambient temperature over the duration of the weld 234(e.g., based on sensor data 218). As another example, the missing weldidentification program 300 may determine the relevant operator 116, gastype, wire type, workpiece material type, and/or location of the weld234 (e.g., based on sensor data 218). In some examples, the missing weldidentification program 300 may save these feature characteristics 220 aspart of the weld 234, and/or otherwise associate the featurecharacteristics 220 with the weld 234.

In some examples, feature characteristics 220 of a weld 234 may compriseone or more of a weld start time, a weld end time, a weld duration, aweld type, a weld identifier, a weld class, a weld procedure, a voltage,a current, a wire feed speed, a gas flow, a torch travel speed, a torchtravel angle, a work angle, weld coordinates, a weld temperature, a weldproperty measurement, weld inspection data, a shift start time, a shiftend time, an operator identifier, an operator name, an operatorqualification, workpiece material preparation information, a workpiecematerial type, a wire type, a filler material property, a gas type, anassembly location, an ambient temperature, an ambient humidity, a falseweld/arc flag (e.g., if weld duration is below a threshold), an ignoreweld flag (e.g., if some input provided directing system to ignore), atotal deposited wire/filler amount, a total gas amount used, a weld passnumber, a weld confidence metric, a weld quality metric, a previousevent type (e.g., weld, operator login, equipment fault, tip change,shift start/end, break start/end, etc.), a time since last weld, a timeuntil next weld, a previous workflow event (e.g., perform maintenance),a job type, an image of an operational environment, and/or an image ofthe welding-related operation.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 308 after block 306. At block 308, the missing weldidentification program 300 a identifies an end to the part assemblyprocess that was begun at block 304. In some examples, the missing weldidentification program 300 a may identify the end of the part assemblyprocess based on user input and/or sensor data 218, similar to thatwhich is described above with respect to identifying the start of thepart assembly process at block 304.

In some examples, the welds 234 identified at block 306 may beassociated together as (and/or with) a part 236 once the part assemblyprocess ends at block 308. In some examples, feature characteristics 220be determined for and/or associated with the part 236 as well, inaddition to the feature characteristics 220 of the welds 234 of the part236. In some examples, the feature characteristics 220 for the part 236may be determined based on constraints 226, sensor data 218 collectedduring (and/or before/after) the part assembly process, the featurecharacteristics 220 of the welds 234 identified during the part assemblyprocess, and/or other information.

In some examples, feature characteristics 220 specific to a part 236 mayinclude one or more of a part assembly start time, a part assembly endtime, a part assembly duration, a number of expected welds, a number ofcompleted welds, a number of false arcs, a number of ignored welds, anumber of extra welds, a number of missing welds, a clamp time, a cycletime, a total deposited wire/filler amount, a total arc time, a totalgas amount used, a part property measurement, part inspection data, ashift start time, a shift end time, an operator identifier, an operatorname, an operator qualification, and/or a job type. In some examples,the missing weld identification program 300 a may associate and/or storepart specific feature characteristics 220 with the part 236 (along withthe welds 234 of the part 236) in memory and/or the DB 230 (as part ofthe identified parts 224). In some examples, the missing weldidentification program 300 a may delay associating and/or storing thepart 236 with the identified parts 224 until after the missing weldidentification program 300 a verifies that all expected and/or requiredwelds 234 of the part 236 were properly completed and/or identified.

While shown in the example of FIG. 3a for the sake of understanding, insome examples, blocks 302-308 may happen outside of the context of themissing weld identification program 300 a. For example, in some casesblocks 302-308 may occur many times, over the course of many partassembly processes, before the rest of the missing weld identificationprogram 300 a executes. However, in other examples, blocks 302-308 mayoccur immediately prior to the remaining portions of the missing weldidentification program 300 a.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 310 after block 308. At block 310, the missing weldidentification program 300 a determines whether the identified welds 222of the newly assembled part 236 include all the expected and/or requiredwelds 234 for that type of part 236. In some examples, this may be arelatively simple determination. For example, the missing weldidentification program 300 a may determine the number of identifiedwelds 222 for that part 236 by counting the number of welds 234 of theidentified welds 222 (and/or examining the corresponding featurecharacteristic 220 of the part 236). Additionally, the missing weldidentification program 300 a may obtain information relating to the typeof part 236 being assembled at block 302 and/or block 304. Thereafter,the missing weld identification program 300 a may determine a requiredand/or expected number of welds 234 for the part 236, based on its type,such as, for example, via a lookup in memory. In some examples, theactual and/or required/expected number of welds 234 may additionally, oralternatively, be a feature characteristics 220 of the part 236. Thus,one way the missing weld identification program 300 a may determinewhether all the expected/required welds 234 for the part 236 werecompleted and/or identified is to compare the number of identified welds222 of the new part 234 with the expected/required number of welds 234.

While a numerical comparison may be relatively simple and effectivemethod of determining whether the new part 236 includes all theexpected/required welds 234, it may also be prone to error in somecases. For example, an operator 116 might miss an expected/required weld234, but perform an extra weld 234, in which case the actual number ofwelds 234 would still be the same as the number of expected/requiredwelds 234, even though an expected/required weld 234 was missed. Thus,in some examples, the missing weld identification program 300 a mayundertake a more thorough determination of whether the new part 236includes all expected and/or required welds 234.

In some examples, the missing weld identification program 300 a mayanalyze the newly identified welds 222 of the new part 236 in view of anappropriate typical part model 228 (corresponding to the same type ofpart 236) to determine whether the new part 236 includes all theexpected/required welds 234. In some examples, welds 234 performed(correctly) at the same sequence step of a part assembly process oftenhave similar feature characteristics 220 (assuming the same type of part236). Thus, by analyzing many parts 236 of the same type, a typical partmodel 228 may be generated that is representative of an average, normal,and/or typical part 236 of a particular type with all expected/requiredwelds 234. In some examples, the typical part model(s) 228 may begenerated at block 310. In some examples, the typical part model(s) 228may be generated prior to block 310, and simply accessed from memory atblock 310.

In some examples, several different typical part models 228 may begenerated for the same type of part 236. In such an example, each of thedifferent typical part models 228 may be generated using slightlydifferent sets of data. For example, one typical part model 228 may begenerated using only data corresponding to one or more particularshifts, operators, pieces of equipment, months of the year, days of theweek, hours of the day, maintenance schedules, work cell conditions,and/or other variables. In some examples, the missing weldidentification program 300 a may choose one particular typical partmodel 228 to use at block 310 based on set/saved parameters, user input,and/or one or more constraints 226.

In some examples, a typical part model 228 may be a neural net, astatistical model, or a data set collection. In examples where thetypical part model 228 is a neural net, the neural net may be trainedusing previously identified parts 224 (of a particular part type) withno missing welds 234. In some examples, only certain featurecharacteristics 220 may be used for the training (e.g., based onset/saved parameters, user input, and/or one or more constraints 226).Once sufficiently trained, the missing weld identification program 300 amay input to the neural net the identified welds 222 of a new part 236.The neural net, in turn, may analyze the feature characteristics 220 ofthe identified welds 222 and output a probability that the identifiedwelds 222 comprise a part 236 of the same part type with no missing (orextra) welds. In some examples, if the probability is below a certainthreshold (e.g., saved in memory and/or specified via the constraints226), the missing weld identification program 300 a may determine thatthe new part 236 does not include all the expected/required welds 234.On the other hand, if the probability is above the threshold, themissing weld identification program 300 a may determine that the newpart 236 does include all the expected/required welds 234. In someexamples, only certain feature characteristics 220 may be evaluated bythe neural net (e.g., based on set/saved parameters, user input, and/orone or more constraints 226).

In examples where the typical part model 228 is a statistical model, thestatistical model may be a single part 236 compiled from statisticalanalysis of many different identified parts 224 (of the appropriate parttype) with no missing (or extra) welds 234. In some examples, each weld234 of the statistical model may have feature characteristics 220compiled from statistical analysis of the many different correspondingwelds 234 of the different identified parts 224. Thus, the featurecharacteristics 220 of each weld 234 in the statistical model maycomprise an average and/or standard deviation of the featurecharacteristics 220 of the welds 234 of the different identified parts224. In some examples, the missing weld identification program 300 a maycompare the feature characteristics 220 of each weld 234 of thestatistical model to each corresponding weld 234 (i.e., weld 1, weld 2,weld 3, etc.) of the newly assembled part 236. In some examples, thecomparison may be performed using a statistical analysis, such as, forexample, a Bayesian statistical analysis. In some examples, only certainfeature characteristics 220 may be evaluated by the statistical analysis(e.g., based on set/saved parameters, user input, and/or one or moreconstraints 226).

In some examples, the result of the statistical analysis may be aprobability that that the new part 236 has no missing (or extra) welds234. In some examples, the missing weld identification program 300 a maydetermine that the new part 236 has no missing welds 234 if thestatistical probability is above a threshold, and determine that the newpart 236 does have missing welds 234 if the probability is below thethreshold. In some examples, the statistical analysis may determine adegree to which each new weld 234 of the new part 236 matches itscorresponding weld 234 in the statistical model. In some examples, theprobability that that the new part 236 has no missing (or extra) welds234 may be determined based on degree to which each new weld 234 of thenew part 236 matches its corresponding weld 234 in the statisticalmodel.

In examples where the typical part model 228 is a data set collection,the data set collection may be a collection of previously identifiedparts 224 (of the same part type). In some examples, the data setcollection may include parts 236 with no missing welds 234 and parts 236with one or more missing welds 234. In some examples, real world datafor parts 236 with one or more missing welds 234 may be difficult toobtain, so the missing weld identification program 300 a may createparts 236 with missing welds 234 from parts 236 with no missing welds234 by making a duplicate part 236 and removing one or more of the welds234 of the duplicate part 236. In some examples, the missing weldidentification program 300 a may remove different welds 234 fromdifferent duplicate parts 236, to create different (and/or all) possiblepermutations of a part 236 with one or more missing welds 234. In someexamples, the missing weld identification program 300 a may decline tocreate parts 236 with more than a saved and/or set threshold number orpercentage (e.g., 20, 25%, etc.) of missing welds 234 for reasons ofpracticality (e.g., problem may be too big to fix if above thresholdanyway) and/or in order to save processing time.

In some examples, the missing weld identification program 300 a mayperform one or more distance calculations as part of a K nearestneighbor (KNN) analysis. In some examples, the missing weldidentification program 300 a may determine which K (e.g., 5, 10, 15,etc.) parts 236 of the data set collection are “nearest” to the new part236 using the distance calculation(s). In some examples, K may be adefault value stored in memory. In some examples, the part trackingprogram 300 may determine K based user input and/or on one or moreconstraints 226. In some examples, the distance calculation(s) and/orKNN analysis may be performed using feature characteristics 220 of thedifferent welds 234 in the part 236 and the data set collection. In someexamples, only certain feature characteristics 220 may be analyzed(e.g., based on set/saved parameters, user input, and/or one or moreconstraints 226).

In some examples, the missing weld identification program 300 a maydetermine what parts 236 make up the majority of the K “nearest” parts236. In some examples, the missing weld identification program 300 a mayrequire a part 236 be within a (e.g., set and/or saved) thresholddistance in order to be considered “nearest.” In some examples, themissing weld identification program 300 a may determine that the newpart 236 has no missing welds 234 if at least a (set and/or saved)threshold number (and/or percentage) of the K nearest parts 236 have nomissing welds, and determine that the new part 236 does have missingwelds 234 if otherwise. In some examples, the missing weldidentification program 300 a may determine that the new part 236 has nomissing welds 234 if the majority of the K nearest parts 236 have nomissing welds, and determine that the new part 236 does have missingwelds 234 if otherwise.

In some examples, the missing weld identification program 300 a mayaccount for one or more suspected extra welds 234 of a part 236 bysimply skipping (and/or ignoring) the suspected extra weld 234 duringanalysis. For example, if a part 236 has more welds 234 than a typicalpart model 228 (and/or a typical part 236 with no missing welds 234),the missing weld identification program 300 a may skip/ignore differentpermutations of welds 234 in the part 236 when analyzing against atypical part model 228. In some examples, the missing weldidentification program 300 a may decide to skip/ignore a weld 234 basedon one or more feature characteristics 220 of the weld 234 (e.g., thefalse/ignore weld flags). In some examples, the missing weldidentification program 300 a may record (e.g., in memory) and/or provideone or more notifications (e.g., via UI 216) representative ofidentified extra welds 234. In some examples, the missing weldidentification program 300 a may still proceed from block 310 to block312 if the part 236 has one or more extra welds 234, but no missingwelds 234 (but may not be used to update models at block 314).

FIG. 4a is a diagram illustrating simple examples of welds 234 (e.g.,identified welds 222) of a new part 236 in view of welds 234 of atypical part model 228. In order to keep things simple, the typical partmodel 228 is a statistical model, and each weld 234 of both the new part236 and typical part model 228 has only two feature characteristics 220:(e.g., average) current (i) and weld duration (T). Additionally,standard deviations are not shown for the typical part model 228.

In the example of FIG. 4a , both the new part 236 and the typical partmodel 228 have five welds 234. Thus, a simple analysis of the part 236at block 310 might determine that the new part 236 has all requiredwelds 234. However, a closer analysis of the new part 236 in view of thetypical part model 228 might indicate that something is wrong. Inparticular, the third weld 234 of the new part 234 has featurecharacteristics 220 that are significantly different from the third weld234 of the typical part model 228. Likewise for the fourth and fifthwelds 234. Thus, in some examples, the missing weld identificationprogram 300 a might conclude that the new part 236 may have at least oneextra weld 234 and/or at least one missing expected/required weld 234.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 312 after block 310 if the missing weldidentification program 300 a determines that the part 236 has no missingwelds 234. At block 312, the missing weld identification program 300 arecords the identified welds 222 as a part 236 of the identified parts224 (if not already done). In some examples, the missing weldidentification program 300 a may additionally update featurecharacteristics 220 of the part 236 (e.g., to indicate number ofmissing/extra welds 234), and/or output a notification (e.g., via UI216) to let the operator know that the part 236 has allrequired/expected welds 234. As shown, the missing weld identificationprogram 300 a then proceeds to block 314 after block 312, where themissing weld identification program 300 a updates the typical partmodel(s) 228 (and/or missing part model(s) 232) with data from the newpart 236. In some examples, block 314 may be skipped. While the missingweld identification program 300 a is shown ending after block 314 in theexample of FIG. 3a , in some examples, the missing weld identificationprogram 300 a may instead return to an earlier block (e.g., block 302 orblock 304).

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 316 after block 310 if the missing weldidentification program 300 a determines that the part 236 has one ormore missing welds 234. At block 316, the missing weld identificationprogram 300 a disables one or more pieces of welding equipment 151(e.g., via one or more disable signals sent to the welding equipment151). In some examples, this may prevent the operator 116 fromcontinuing to assemble parts 236 without first fixing the part 236 withthe missing weld(s) 234. In some examples, block 316 may be skipped,such as, for example, if the missing weld identification program 300 ais being used to analyze parts 236 that were assembled some time in thepast, rather than brand new parts 236 that just finished beingassembled.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 318 after block 316. At block 318, the missing weldidentification program 300 a determines the number of welds 234 missingfrom the part 236. In some examples, this may be a simple matter ofcomparing the number of expected welds 234 with the number of identifiedwelds 222 of the part 236, as discussed above. In some examples, themissing weld identification program 300 a may output a notification tothe operator 116 (e.g., via UI 216) indicative of the number of missingwelds 234. In some examples, block 318 may be skipped, such as, forexample, where the determination at block 310 uses a typical part model228 to determine whether there are missing welds 234.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 320 after block 318. At block 320, the missing weldidentification program 300 a generates and/or accesses one or moremissing weld part models 232. In some examples, different missing weldpart models 232 may be representative of the part 236 with differentwelds 234 missing (e.g., weld 2, welds 1 and 3, welds 5, 8, and 16,etc.). By determining which missing weld part model(s) 232 is mostsimilar to the part 236, the missing weld identification program 300 amay be able to tell the operator 116 which particular welds 234 the part236 is missing. Knowing which particular welds 234 are missing may bemore helpful to an operator than simply knowing a certain number ofwelds 234 are missing.

In some examples, the missing weld identification program 300 a maygenerate (and/or access) missing weld part models 232 representative ofall possible missing weld 234 permutations of a part 236. In someexamples, the missing weld identification program 300 a may decline togenerate missing weld part models 232 with more than a saved and/or setthreshold number or percentage (e.g., 20, 25%, etc.) of missing welds234 for reasons of practicality (e.g., problem may be too big to fix ifabove threshold anyway) and/or in order to save processing time. In someexamples, several different missing weld part models 232 may begenerated with the same missing welds 234, but from slightly differentdata sets (e.g., using only data corresponding one or more particularshifts, operators, pieces of equipment, etc.), similar to that which isdescribed above with respect to generation of the typical part models228. In some examples, the missing weld identification program 300 a maychoose which particular missing weld part models 232 to access and/orgenerate at block 320 based on set/saved parameters, user input, and/orone or more constraints 226. In some examples, a missing weld part model232 may include, and/or be associated with, metadata indicative of itspart type and/or particular missing weld(s) 234. In examples where thenumber of missing welds 234 is known, the missing weld identificationprogram 300 a may generate or access only missing weld part models 232with the appropriate number of missing welds 234. In some examples, themissing weld part models 232 may be generated prior to block 320, and/orsimply accessed from memory at block 320.

As noted above, real world data for parts 236 with one or more missingwelds 234 may be difficult to obtain. Thus, in some examples, missingweld part models 232 may be generated from typical part models 228. Forexample, where the typical part model 228 is a statistical model, acorresponding missing weld part model 232 may be generated byduplicating the statistical model and removing one or more of the welds234. In examples where a missing weld part model 232 is a data setcollection, the data set collection may be generated by making aduplicate of a part 236 of the identified parts 224 (e.g., with nomissing welds 234) and removing one or more of the welds 234 of theduplicate part 236. In some examples, where the missing weld part model232 is a data set collection, the missing weld part model 232 may be thesame as the typical part model 228; or the same except that the missingweld part model 232 has no parts 236 without missing welds 234. Inexamples where a missing weld part model 232 is a neural net, eachneural net may be trained using a data set collection representative ofparts 236 with one or more particular missing welds 234.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 322 after block 320. At block 322, the missing weldidentification program 300 a analyzes the part 236 in view of themissing weld part model(s) 232 generated and/or accessed at block 320and identifies one or more analogous missing weld part model(s) 232(and/or analogous parts 236 having missing welds 234).

Where the missing weld part models 232 are neural nets, the analysis atblock 322 may comprise inputting the identified welds 222 of the newpart 236 into the neural net. The neural net, in turn, may analyze thefeature characteristics 220 of the identified welds 222 and output aprobability that the new part 236 has the same missing welds 234 as thatparticular missing weld part model 232. In some examples, the missingweld identification program 300 a may identify any neural net outputtinga probability over a particular (e.g., set and/or saved) threshold as ananalogous missing weld part model 232. In some examples, the missingweld identification program 300 a may identify the neural net thatoutputs the highest probability (e.g., over a particular threshold) asthe analogous missing weld part model 232.

Where the missing weld part models 232 are statistical models, theanalysis may comprise a statistical analysis (e.g., a Bayesianstatistical analysis) of the feature characteristics 220 of the welds234 of the part 236 in view of the feature characteristics 220 of thewelds 234 of the statistical model. In some examples, only certainfeature characteristics 220 may be compared (e.g., based on set/savedparameters, user input, and/or one or more constraints 226). In someexamples, the result of the statistical analysis may be a probabilitythat that the part 236 has the same missing weld(s) 234 as thestatistical model. In some examples, the statistical analysis maydetermine a degree to which each weld 234 of the part 236 matches itscorresponding weld 234 in the statistical model. In some examples, theprobability that that the part 236 has the same missing weld(s) 234 maybe determined based on degree to which each weld 234 of the part 236matches its corresponding weld 234 in the statistical model. In someexamples, the missing weld identification program 300 a may identify anyprobability over a particular (e.g., set and/or saved) threshold ascorresponding to an analogous missing weld part model 232. In someexamples, the missing weld identification program 300 a may identify thehighest probability over a particular (e.g., set and/or saved) thresholdas the analogous missing weld part model 232.

Where the missing weld part model 232 is one big data collection, theanalysis may comprise one or more distance calculations and a KNNanalysis to determine which K (e.g., 5, 10, 15, etc.) parts 236 of thedata set collection are “nearest” to the new part 236. In some examples,the missing weld identification program 300 a may require a part 236 tobe within a certain (e.g., set and/or saved) threshold distance in orderto be considered “nearest.” In some examples, K may be a default valuestored in memory. In some examples, the part tracking program 300 maydetermine K based user input and/or on one or more constraints 226. Insome examples, the distance calculation(s) and/or KNN analysis may beperformed using feature characteristics 220 of the different welds 234in the part 236 and the data set collection. In some examples, onlycertain feature characteristics 220 may be analyzed (e.g., based onset/saved parameters, user input, and/or one or more constraints 226).

Since there may only be single missing weld part model 232 when using adata collection, the missing weld identification program 300 a mayidentify analogous parts 236 of the data collection, rather than ananalogous missing weld part model 232. In some examples, the missingweld identification program 300 a may identify the majority of the Knearest parts 236 with the same missing welds 234 as being analogous. Insome examples, the missing weld identification program 300 a mayidentify a group of K nearest parts 236 with same missing welds 234 asanalogous if that group is bigger in number/percentage than a (e.g., setand/or saved) threshold amount.

FIG. 4b is a diagram showing simple examples of (statistical) missingweld part models 232 corresponding to the same part type as the new part236 and typical part model 228 of FIG. 4a . As shown, each missing weldpart model 232 in FIG. 4b is missing a different weld 234, as if adifferent weld 234 was removed from the welds 234 of the typical partmodel 228 of FIG. 4a . Only one weld 234 is shown as missing in eachmissing weld part model 232 of FIG. 4a for the sake of simplicity.

In some examples, the missing weld identification program 300 a mayaccount for one or more extra welds 234 in its analysis of the new part236 in view of the missing part models 232. For example, the missingweld identification program 300 a may have learned that the new part 236has an extra weld 234 from the analysis of block 310, and/or determinethere is an extra weld 234 from its analysis at block 322. In someexamples, the missing weld identification program 300 a may selectdifferent welds 234 to skip/ignore to account for the extra weld 234.

In the example of FIG. 4a , the last weld 234 appears to be the extraweld 234, as it has feature characteristics similar to the first twoexpected/required welds 234 of the typical part model 228, but is at theend of the part 236, rather than the beginning. In some examples, themissing weld identification program 300 a may specifically select toskip one or more welds 234 (such as the last weld 234) based on one ormore feature characteristics 220. Thus, eventually the missing weldidentification program 300 a may analyze just the first four welds 234of the new part 236. An analysis of just the first four welds 234 of thenew part 236 in view of the welds 234 of the missing weld part models232 of FIG. 4b (and their respective feature characteristics 220) mightindicate that the new part 236 is most analogous to (and/or has thehighest probability of missing the same weld(s) 234 as) the missing weldpart model 232 b.

In the example of FIG. 3a , the missing weld identification program 300a proceeds to block 324 after block 322. At block 324, the missing weldidentification program 300 a outputs a notification to the operator 116(e.g., via UI 216) indicative of the particular missing welds 234 of theanalogous missing weld part model(s) 232 (and/or analogous part(s) 236).In examples where more than one analogous missing weld part model 232(and/or part 236) has been identified, the missing weld identificationprogram 300 a may also determine and/or output a probability that aparticular set of missing welds 234 are the same missing welds 234 ofthe analyzed part 236.

In some examples, the missing weld identification program 300 a mayoutput a notification that the analysis was inconclusive, and/or thatthere is some anomaly, if no analogous missing weld part model(s) 232(and/or analogous parts 236) were identified at block 322. In someexamples, such a situation may arise if, for example, welds 234 wereperformed out of order rather than missed. In such a situation, themissing weld identification program 300 a may (correctly) determine thatthe part 236 is neither similar to a typical part 236 having allexpected/required welds 234 (e.g., in the right order), nor similar to apart 236 having particular missing welds 234, and therefore label thenew part 236 an anomaly. While shown as ending after block 324 in theexample of FIG. 3a , in some examples, the missing weld identificationprogram 300 a may return to a previous block (e.g., block 302, 304, or306) after block 324, such as, for example, to allow the operator 116 anopportunity to correct the part 236 (e.g., by performing the missingwelds 234). In such an example, the missing weld identification program300 a may re-enable any welding equipment 151 disabled at block 316.

In some examples, the part tracking system 200 may execute the missingweld identification program 300 b instead of the missing weldidentification program 300 a. In some examples, the missing weldidentification program 300 a may be well suited to analyzing fullyassembled parts 236 completed recently or in the past. In some examples,the missing weld identification program 300 b may be well suited foranalyzing parts 236 that are currently being assembled.

FIG. 3b shows a flowchart illustrating an example missing weldidentification program 300 b. In the example of FIG. 3b , the missingweld identification program 300 b begins at block 352. At block 352, themissing weld identification program 300 b collects sensor data 218,similar (and/or identical) to that which is described above with respectto block 302 of FIG. 3a . A duplicate description is omitted here forthe sake of brevity.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 354 after block 352. In the example of FIG. 3b , themissing weld identification program 300 b identifies a start of a partassembly process, similar (and/or identical) to that which is describedabove with respect to block 304 of FIG. 3a . A duplicate description isomitted here for the sake of brevity.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 356 after block 354. At block 356, the missing weldidentification program 300 b sets variable X to 1 (the use of variable Xis discussed further below). As shown, the missing weld identificationprogram 300 b proceeds to block 358 after block 356. At block 358, themissing weld identification program 300 b accesses and/or generates oneor more typical part models 228 corresponding to the type of part 236being assembled, similar (and/or identical) to that which is describedabove with respect to block 310 of FIG. 3 a.

However, while the neural net typical part models 228 accessed/generatedat block 310 may be trained using parts 224, the neural net typical partmodels 228 accessed/generated at block 358 may be trained using partialparts 236. For example, some neural nets may be trained using only thefirst weld 234 a of parts 236 with no missing welds 234. Some neuralnets may be trained using the first weld 234 a and second weld 234 b ofparts 236 with no missing welds 234. Some neural nets may be trainedusing the first through third welds 234 of parts with no missing welds234. And so on, and so on, until finally, some neural nets are trainedusing all the welds 234 of parts 236 with no missing welds 234 (similarto the neural nets of block 310 of FIG. 3a ).

This training of neural net typical part models 228 using partial parts236 may be necessary because only a partial part 236 may have beencompleted at block 358. The missing weld identification program 300 b isused to analyze parts 236 during part assembly, as each new weld 234 isidentified, and before all welds 234 of the part 236 have beenidentified and/or performed. This is in contrast to the missing weldidentification program 300 a which may analyze all the welds 234 of thepart 236 after part assembly has completed. Though statistical modelsand/or data set collections are more flexible, and able to be scaled forcomparisons to smaller sequential weld 234 sets without having to dospecial training, the neural net typical part models 228 may needspecial training with partial parts 236 to work in the missing weldidentification program 300 b.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 360 after block 358. At block 360, the missing weldidentification program 300 b identifies the start and end of the nextweld 234 in the part assembly process, determines featurecharacteristics 220 of the weld 234, and records the weld 234 as anidentified weld 234, such as described above with respect to block 306of FIG. 3a . A repeat of the above description is omitted here for thesake of brevity.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 362 after block 360. At block 362, the missing weldidentification program 300 b analyzes the X welds 234 identified and/orcompleted so far in view of the typical part model(s) 228 generatedand/or accessed at block 358. The analysis of block 362 may differdepending on the type of typical part model 228 used for the analysis.

Where a typical part model 228 is a data set collection, the analysismay comprise the same (or similar) sort of distance calculation(s) andKNN analysis described above with respect to blocks 310 and 322 of FIG.3a . In some examples, the KNN analysis may determine distances betweenwelds 234 of the in progress part 236, and corresponding welds 234 ofeach part 236 in the data set collection (e.g., based on the relativefeature characteristics 220), and use these distances in the KNNanalysis. However, as only X welds 234 of the in-progress part 236 havebeen completed/identified, in some examples, the KNN analysis at block362 may only consider the first X welds 234 of each part 236 in the dataset collection. Likewise, where a typical part model 228 is astatistical representation, the analysis of block 362 may comprise thesame (or similar) sort of statistical analysis described above withrespect to blocks 310 and 322 of FIG. 3a , but only considering thefirst X welds 234 of the statistical representation. Where the typicalpart model 228 is a neural net, the missing weld identification program300 b may use a neural net that has been trained on X number of welds234, as described above.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 364 after block 362. At block 364, the missing weldidentification program 300 b determines whether the X welds 234 of thenew part 236 are the expected/required X welds 234, based on theanalysis at block 362. In some examples, the missing weld identificationprogram 300 b may make the determination based on whether the analysisat block 362 produces a probability above a (e.g., set and/or saved)threshold.

For example, where the typical part model 228 is a neural net, theneural net may output a probability that the X identified welds 222 ofthe in progress part 236 are the expected/required X welds 234 of theappropriate part type (i.e., with no missing welds 234). Where thetypical part model 228 is a statistical model, the result of thestatistical analysis at block 362 may be a probability that the Xidentified welds 222 of the in progress part 236 are theexpected/required X welds 234 of the appropriate part type (i.e., withno missing welds 234). Where the typical part model 228 is a data setcollection, the result of the KNN analysis at block 362 may be adetermination of which K (e.g., 5, 10, 15, etc.) parts 236 of the dataset collection are “nearest” to the in progress part 236. However, aprobability can be calculated in the KNN context as the number of the Knearest parts 236 with no missing welds 234 divided by K (and multipliedby 100). In some examples, the missing weld identification program 300 bmay determine that the X welds 234 of the new part 236 match theexpected/required X welds 234 if the resulting probability from theanalysis of block 364 is greater than a (e.g., set and/or saved)threshold.

In the context of the example new part 236 and typical part model 228 ofFIG. 4a , the

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 366 after block 364 if the missing weldidentification program 300 b determines that the X welds 234 of the newpart 236 match the expected/required welds 234 for that particular typeof part 236. At block 366, the missing weld identification program 300 bdetermines whether an end of the part assembly process has beenidentified. In some examples, the missing weld identification program300 a may identify the end of the part assembly process based on userinput and/or sensor data 218, similar (or identical) to that which isdescribed above with respect to block 308 of FIG. 3a . If an end of thepart assembly process is identified, the missing weld identificationprogram 300 b records the identified welds 222 as a part 236 of theidentified parts 224 at block 370 (similar or identical to block 312 ofFIG. 3a ), then updates the typical part models 228 and/or missing weldpart models 232 if appropriate at block 372 (similar to block 314 ofFIG. 3a ). Though, in the example of FIG. 3b , the missing weldidentification program 300 b is shown ending after block 372, in someexamples, the missing weld identification program 300 b may insteadreturn to an earlier block (e.g., block 352 or block 354). If an end ofthe part assembly process is not identified at block 366, the missingweld identification program 300 b increments the value of X at block368, then returns to block 358.

In the context of FIG. 4a , the missing weld identification program 300b might initially (when X=1) analyze the first weld 234 of the new part236 with respect to the first weld 234 of the typical part model 228. Asthe first weld 234 of the new part 236 has feature characteristics 220similar to those of the first weld 234 of the typical part model 228,the missing weld identification program 300 b might conclude there is amatch at block 364. As the new part 236 has only just begun, the missingweld identification program 300 b would fail to detect an end of thepart 236 at block 366, then increment X at block 368.

On the second pass (X=2), the missing weld identification program 300 bmight again conclude there is a match due to the similar featurecharacteristics 220 of the first and second welds 234 of the new part236 and the typical part model 228. However, on the third pass (X=3),the missing weld identification program 300 b may find the third weld234 of the new part 236 has feature characteristics 220 that aresignificantly different than those of the third weld 234 of the typicalpart model 228. Thus, the missing weld identification program 300 bmight determine on the third pass (with X=3) that the first three welds234 of the new part 236 do not match the first three expected/requiredwelds 234 represented by the typical part model 228.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 374 after block 364 if the missing weldidentification program 300 b determines that the X welds 234 of the newpart 236 do not match the expected/required welds 234 for thatparticular type of part 236. At block 374, the missing weldidentification program 300 b disables one or more pieces of weldingequipment 151, so that the operator 116 is prevented from continuingwelding (similar to block 316 of FIG. 3a ). In some examples, block 374may be skipped.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 376 after block 374. At block 376, the missing weldidentification program 300 b generates and/or accesses one or moremissing weld part models 232, similar (or identical) to block 320 ofFIG. 3a . However, where a missing weld part model 232 is a neural net,the neural net may be trained using only X welds 234 (rather than allwelds 234) of a part 236, similar to that which is described above withrespect to block 358. Additionally, in some examples, the missing weldidentification program 300 b may only generate and/or access missingweld part models 232 where the first missing weld 234 occurs after X-1welds 234 (e.g., to save processing time). In some examples, the missingweld identification program 300 b may only generate and/or accessmissing weld part models 232 with consecutive missing welds 234 (e.g.,to save processing time).

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 378 after block 376. At block 378, the missing weldidentification program 300 b analyzes the X welds 234 of the in progresspart 236 in view of the one or more missing weld part models 232generated and/or accessed at block 376, and identifies one or moremissing weld part models 232 (and/or parts 236 with missing welds 234)as analogous missing weld part models 232 (and/or analogous parts 236).In some examples, block 378 of FIG. 3b may be similar (and/or identical)to block 322 of FIG. 3a , except that only X identified welds 222 of thein progress part 236 are analyzed, rather than all welds 234 of the newpart 236.

In the context of FIG. 4b , the missing weld identification program 300b might suspect that at least the third weld 234 of the new part 236 ismissing after the analysis at blocks 362 and 364 during the third pass(X=3) described above. Thus, in some examples, the missing weldidentification program 300 b might decline to access and/or generate themissing weld part model 232 c entirely, as the missing weld part model232 c represents a part 236 with the fourth weld 234 being the firstmissing weld 234. Regardless, the missing weld identification program300 b may analyze the first three welds 234 of the new part 234 and thefirst three welds 234 of the missing weld part models 232 and determine(based on the relative feature characteristics 220) that the missingweld part model 232 b is most analogous.

In the example of FIG. 3b , the missing weld identification program 300b proceeds to block 380 after block 378. At block 380, the missing weldidentification program 300 b outputs a notification (e.g., via UI 216)indicative of the particular missing welds 234 of the analogous missingweld part model(s) 232 (and/or analogous part(s) 236), similar (and/oridentical) to block 324 of FIG. 3a . While shown as ending after block380 in the example of FIG. 3b , in some examples, the missing weldidentification program 300 b may return to a previous block (e.g., block358 or block 360) after block 380, such as, for example, to allow theoperator 116 an opportunity to correct the part 236 by performing themissing welds 234. In such an example, the missing weld identificationprogram 300 b may re-enable any welding equipment 151 disabled at block374.

The example part tracking systems 200 disclosed herein use machinelearning techniques (e.g., deep learning/neural nets, statisticalanalysis, KNN) to identify whether an operator 116 has missed one ormore welds 234 when assembling a part 236. The part tracking systems 200can additionally identify which specific welds 234 were missed, so thatan operator 116 knows exactly how to fix the part 236. The part trackingsystems 200 may be able to identify missing welds 234 after a part hasbeen completed, or in real-time, during assembly of the part 236.Identification of the particular weld(s) 234 missed during the partassembly process can help an operator 116 quickly assess and resolve anyissues with the part 236 being assembled, saving time and ensuringquality.

The present methods and/or systems may be realized in hardware,software, or a combination of hardware and software. The present methodsand/or systems may be realized in a centralized fashion in at least onecomputing system, or in a distributed fashion where different elementsare spread across several interconnected computing or cloud systems. Anykind of computing system or other apparatus adapted for carrying out themethods described herein is suited. A typical combination of hardwareand software may be a general-purpose computing system with a program orother code that, when being loaded and executed, controls the computingsystem such that it carries out the methods described herein. Anothertypical implementation may comprise an application specific integratedcircuit or chip. Some implementations may comprise a non-transitorymachine-readable (e.g., computer readable) medium (e.g., FLASH drive,optical disk, magnetic storage disk, or the like) having stored thereonone or more lines of code executable by a machine, thereby causing themachine to perform processes as described herein.

While the present method and/or system has been described with referenceto certain implementations, it will be understood by those skilled inthe art that various changes may be made and equivalents may besubstituted without departing from the scope of the present methodand/or system. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the presentdisclosure without departing from its scope. Therefore, it is intendedthat the present method and/or system not be limited to the particularimplementations disclosed, but that the present method and/or systemwill include all implementations falling within the scope of theappended claims.

As used herein, “and/or” means any one or more of the items in the listjoined by “and/or”. As an example, “x and/or y” means any element of thethree-element set {(x), (y), (x, y)}. In other words, “x and/or y” means“one or both of x and y”. As another example, “x, y, and/or z” means anyelement of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z),(x, y, z)}. In other words, “x, y and/or z” means “one or more of x, yand z”.

As utilized herein, the terms “e.g.,” and “for example” set off lists ofone or more non-limiting examples, instances, or illustrations.

As used herein, the terms “coupled,” “coupled to,” and “coupled with,”each mean a structural and/or electrical connection, whether attached,affixed, connected, joined, fastened, linked, and/or otherwise secured.As used herein, the term “attach” means to affix, couple, connect, join,fasten, link, and/or otherwise secure. As used herein, the term“connect” means to attach, affix, couple, join, fasten, link, and/orotherwise secure.

As used herein the terms “circuits” and “circuitry” refer to physicalelectronic components (i.e., hardware) and any software and/or firmware(“code”) which may configure the hardware, be executed by the hardware,and or otherwise be associated with the hardware. As used herein, forexample, a particular processor and memory may comprise a first“circuit” when executing a first one or more lines of code and maycomprise a second “circuit” when executing a second one or more lines ofcode. As utilized herein, circuitry is “operable” and/or “configured” toperform a function whenever the circuitry comprises the necessaryhardware and/or code (if any is necessary) to perform the function,regardless of whether performance of the function is disabled or enabled(e.g., by a user-configurable setting, factory trim, etc.).

As used herein, a control circuit may include digital and/or analogcircuitry, discrete and/or integrated circuitry, microprocessors, DSPs,etc., software, hardware and/or firmware, located on one or more boards,that form part or all of a controller, and/or are used to control awelding process, and/or a device such as a power source or wire feeder.

As used herein, the term “processor” means processing devices,apparatus, programs, circuits, components, systems, and subsystems,whether implemented in hardware, tangibly embodied software, or both,and whether or not it is programmable. The term “processor” as usedherein includes, but is not limited to, one or more computing devices,hardwired circuits, signal-modifying devices and systems, devices andmachines for controlling systems, central processing units, programmabledevices and systems, field-programmable gate arrays,application-specific integrated circuits, systems on a chip, systemscomprising discrete elements and/or circuits, state machines, virtualmachines, data processors, processing facilities, and combinations ofany of the foregoing. The processor may be, for example, any type ofgeneral purpose microprocessor or microcontroller, a digital signalprocessing (DSP) processor, an application-specific integrated circuit(ASIC), a graphic processing unit (GPU), a reduced instruction setcomputer (RISC) processor with an advanced RISC machine (ARM) core, etc.The processor may be coupled to, and/or integrated with a memory device.

As used, herein, the term “memory” and/or “memory device” means computerhardware or circuitry to store information for use by a processor and/orother digital device. The memory and/or memory device can be anysuitable type of computer memory or any other type of electronic storagemedium, such as, for example, read-only memory (ROM), random accessmemory (RAM), cache memory, compact disc read-only memory (CDROM),electro-optical memory, magneto-optical memory, programmable read-onlymemory (PROM), erasable programmable read-only memory (EPROM),electrically-erasable programmable read-only memory (EEPROM), acomputer-readable medium, or the like. Memory can include, for example,a non-transitory memory, a non-transitory processor readable medium, anon-transitory computer readable medium, non-volatile memory, dynamicRAM (DRAM), volatile memory, ferroelectric RAM (FRAM),first-in-first-out (FIFO) memory, last-in-first-out (LIFO) memory, stackmemory, non-volatile RAM (NVRAM), static RAM (SRAM), a cache, a buffer,a semiconductor memory, a magnetic memory, an optical memory, a flashmemory, a flash card, a compact flash card, memory cards, secure digitalmemory cards, a microcard, a minicard, an expansion card, a smart card,a memory stick, a multimedia card, a picture card, flash storage, asubscriber identity module (SIM) card, a hard drive (HDD), a solid statedrive (SSD), etc. The memory can be configured to store code,instructions, applications, software, firmware and/or data, and may beexternal, internal, or both with respect to the processor.

The term “power” is used throughout this specification for convenience,but also includes related measures such as energy, current, voltage, andenthalpy. For example, controlling “power” may involve controllingvoltage, current, energy, and/or enthalpy, and/or controlling based on“power” may involve controlling based on voltage, current, energy,and/or enthalpy.

As used herein, welding-type power refers to power suitable for welding,cladding, brazing, plasma cutting, induction heating, carbon arccutting, and/or hot wire welding/preheating (including laser welding andlaser cladding), carbon arc cutting or gouging, and/or resistivepreheating.

As used herein, a welding-type power supply and/or power source refersto any device capable of, when power is applied thereto, supplyingwelding, cladding, brazing, plasma cutting, induction heating, laser(including laser welding, laser hybrid, and laser cladding), carbon arccutting or gouging, and/or resistive preheating, including but notlimited to transformer-rectifiers, inverters, converters, resonant powersupplies, quasi-resonant power supplies, switch-mode power supplies,etc., as well as control circuitry and other ancillary circuitryassociated therewith.

As used herein, a part, as used herein, may refer to a physical itemthat is prepared and/or produced through a welding-type process and/oroperation, such as, for example, by welding two or more workpiecestogether. In some contexts, a part may refer to data stored innon-transitory memory that is representative of a physical item preparedand/or produced through a welding-type process and/or operation.

Disabling of circuitry, actuators, and/or other hardware may be done viahardware, software (including firmware), or a combination of hardwareand software, and may include physical disconnection, de-energization,and/or a software control that restricts commands from being implementedto activate the circuitry, actuators, and/or other hardware. Similarly,enabling of circuitry, actuators, and/or other hardware may be done viahardware, software (including firmware), or a combination of hardwareand software, using the same mechanisms used for disabling.

What is claimed is:
 1. A system, comprising: processing circuitry; andmemory circuitry comprising computer readable instructions which, whenexecuted, cause the processing circuitry to: identify a plurality ofsequential welds used to assemble a part during a part assembly process,access one or more feature characteristics of the plurality ofsequential welds, access one or more missing weld part models, each ofthe one or more missing weld part models being representative of thepart having one or more missing welds, determine an analogous missingweld part model of the one or more missing weld part models that is mostsimilar to the plurality of sequential welds, and provide an outputidentifying the one or more missing welds of the analogous missing weldpart model.
 2. The system of claim 1, wherein one or more machinelearning techniques are used to determine the analogous missing weldpart model most similar to the plurality of sequential welds.
 3. Thesystem of claim 1, wherein each missing weld part model of the one ormore missing weld part models is representative of the part having atleast one different missing weld than every other missing weld partmodel of the one or more missing weld part models.
 4. The system ofclaim 1, wherein each of the one or more missing weld part models isassociated with one or more model characteristics, and the analogousmissing weld part model is determined via a comparison of at least someof the one or more feature characteristics with at least some of the oneor more model characteristics.
 5. The system of claim 1, wherein thememory circuitry further comprises computer readable instructions which,when executed, cause the processing circuitry to: determine whether thepart includes all required welds, wherein the processing circuitryobtains the one or more missing weld part models, determines theanalogous missing weld part model most similar to the plurality ofsequential welds, and provides the output in response to determining thepart does not include all required welds.
 6. The system of claim 5,wherein the memory circuitry further comprises computer readableinstructions which, when executed, cause the processing circuitry to: inresponse to determining the part does not include all required welds,determine a quantity of missing welds, wherein each of the one or moremissing weld part models is representative of the part with the quantityof missing welds.
 7. The system of claim 5, wherein the memory circuitryfurther comprises computer readable instructions which, when executed,cause the processing circuitry to: access a typical part modelrepresentative of the part having all required welds, wherein thedetermination of whether the part includes all required welds is basedon a comparison of at least some of the feature characteristics with atleast some typical feature characteristics of the typical part model. 8.The system of claim 7, wherein the typical part model comprises a neuralnet, a statistical model, or a data set collection.
 9. The system ofclaim 5, wherein the determination of whether the part includes allrequired welds is based on a comparison of a quantity of the pluralityof sequential welds with an expected quantity of welds.
 10. The systemof claim 1, wherein each missing weld part model of the one or moremissing weld part models comprises a neural net, a statistical model, adata set collection, or a modified version of a typical part model. 11.A method, comprising: identifying, via processing circuitry, a pluralityof sequential welds used to assemble a part during a part assemblyprocess; accessing one or more feature characteristics of the pluralityof sequential welds; accessing one or more missing weld part models,each of the one or more missing weld part models being representative ofthe part having one or more missing welds; determining, via theprocessing circuitry, an analogous missing weld part model of the one ormore missing weld part models that is most similar to the plurality ofsequential welds; and providing an output identifying the one or moremissing welds of the analogous missing weld part model.
 12. The methodof claim 11, wherein one or more machine learning techniques are used todetermine the analogous missing weld part model most similar to theplurality of sequential welds.
 13. The method of claim 11, wherein eachmissing weld part model of the one or more missing weld part models isrepresentative of the part having at least one different missing weldthan every other missing weld part model of the one or more missing weldpart models.
 14. The method of claim 11, wherein each of the one or moremissing weld part models is associated with one or more modelcharacteristics, and the analogous missing weld part model is determinedvia a comparison of at least some of the one or more featurecharacteristics with at least some of the one or more modelcharacteristics.
 15. The method of claim 11, wherein the method furthercomprises: determining whether the part includes all required welds,wherein the one or more missing weld part models are obtained, theanalogous missing weld part model most similar to the plurality ofsequential welds is determined, and the output is provided in responseto determining the part does not include all required welds.
 16. Themethod of claim 15, wherein the method further comprises determining aquantity of missing welds in response to determining the part does notinclude all required welds, wherein each of the one or more missing weldpart models is representative of the part with the quantity of missingwelds.
 17. The method of claim 15, wherein the method further comprises:accessing a typical part model representative of the part having allrequired welds, wherein the determination of whether the part includesall required welds is based on a comparison of at least some of thefeature characteristics with at least some typical featurecharacteristics of the typical part model.
 18. The method of claim 17,wherein the typical part model comprises a neural net, a statisticalmodel, or a data set collection.
 19. The method of claim 15, wherein thedetermination of whether the part includes all required welds is basedon a comparison of a quantity of the plurality of sequential welds withan expected quantity of welds.
 20. The method of claim 11, wherein eachmissing weld part model of the one or more missing weld part modelscomprises a neural net, a statistical model, a data set collection, or amodified version of a typical part model.